Next:
Processes
G6059 — Operating Systems
Prof. George Parisis
Dr. Vincent van Oostrom
Notes by Nathan Baines
Date:
Academic year 2024/25
Processes
Concept
What is a process
Memory Layout
State
Process Control Block — PCB
Threads
Scheduling
Operations on Processes
Context Switches
Process Creation
Inter-Process Communication — IPC
Shared Memory
Message Passing
Message Passing — Direct Communication
Message Passing — Indirect Communication
Message Passing — Buffering
Threads and Concurrency
Multicore Programming
Amdahl's Law
Multithreading Models
Many-to-one
One-to-one
Many-to-many
Implicit threading
Thread pools
Fork-Join
Threading Issues
Semantics of
and
Signal Handling
Thread Cancellation
Creating threads in Linux
CPU Scheduling
Basic Concepts
Scheduling Criteria
Scheduling Algorithms
First-Come-First-Serve — FCFS
Shortest-Job-First — SJF
Round Robin — RR
Priority Scheduling
Priority RR
Multilevel Queue
Multiple Processor Scheduling
Symmetric Multiprocessing
Logical processors
Multithreaded Multicore Systems
Load balancing
Processor Affinity
NUMA Aware OS
Synchronisation
Critical Section
Solution Requirements
Interrupt Solution
Peterson's Solution
Synchronisation at Hardware level
Hardware instructions
Atomic variables
Mutex locks
Semaphores
Deadlocks
Characterising Deadlocks
Resource Allocation Graphs
Handling Deadlocks
Prevention
Avoidance
Avoidance — Allocation graph
Detection
Recovering from deadlock — Process Termination
Recovering from deadlock — Resource preemption
About this document ...